import Vue from "vue";
import Vuex from "vuex";

Vue.use(Vuex);

export default new Vuex.Store({
  state: {
    shopcar: [],
    // 购物车数据
  },
  getters: {},
  mutations: {
    add(state, row) {
      let flag = false;
      //定义一个变量代表这个商品存不存在

      state.shopcar.forEach((i) => {
        if (i.id == row.id) {
          i.num += row.num;
          flag = true;
        }
      });
      //循环看这个商品存不存在 如果存在就让flag变成true num也要加

      if (flag == false) {
        state.shopcar.push(row);
      }
      //循环结束之后 如果flag还是false证明这个商品在购物车里不存在
    },

    removeAll(state, val) {
      // val在这里接受的选中的数据列表
      state.shopcar = state.shopcar.filter((i) => {
        return val.includes(i) == false;
      });
      // includes 是一个数组的方法 如果包含的有就返回true 不包含就返回false
    },
  },
  actions: {},
  modules: {},
});
